﻿using System;
using DDDNorthWind.Core.Domain.Aggregate;
using DDDNorthWind.Core.Domain.DomainEvents;
using DDDNorthWind.Core.Domain.EventArgs;
using DDDNorthWind.Core.Domain.Events;
using DDDNorthWind.Core.Domain.Events;
using DDDNorthWind.Core.Test.DomainEvents;
using DDDNorthWind.Core.Test.Entities;
using DDDNorthWind.Core.Test.ValueObject;

namespace DDDNorthWind.Core.Test.Aggregate
{
    public interface IPeopleAggregate : IAggregateRoot<PeopleId>
    {
        event EventHandler<EventAppliedEventArgs<NewPeopleCreated>> NewPeopledCreated;

        People AssignPeopleValue(string name, string lastName);
        People AssignAddress(string province, string zip, string street);
    }
}